Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[PR #799/dd9e999c backport][stable-1] pkgutil: add update all, check-mode, squashing and examples #1009

Conversation

patchback[bot]
Copy link

@patchback patchback bot commented Sep 30, 2020

This is a backport of PR #799 as merged into main (dd9e999).

Taken from ansible/ansible#51651 by @dagwieers, which was taken from ansible/ansible#27866 by @scathatheworm. Let’s have one last attempt to get this merged.

SUMMARY

Original PR #27866 from @scathatheworm

When working with Solaris pkgutil CSW packages, I came across this module
being very basic in functionality, in particular, that I could not use it
to update all CSW packages.

When going into details into the code I also found it did not incorporate
a possibility of doing dry-run from the underlying utility, or supported to
specify multiple packages for operations.

This module probably sees very little use, but it seemed like nice
functionality to add and make it behave a little more like other package
modules.

ISSUE TYPE
* Feature Pull Request
COMPONENT NAME

pkgutil module

ANSIBLE VERSION
ansible 2.3.1.0
  config file = /etc/ansible/ansible.cfg
  configured module search path = Default w/o overrides
  python version = 2.7.5 (default, Aug  2 2016, 04:20:16) [GCC 4.8.5

20150623 (Red Hat 4.8.5-4)]


##### ADDITIONAL INFORMATION

    * Added ability to upgrade all packages:


```yaml
- pkgutil:
    name: '*'
    state: latest
* Added ability to modify state of a list of packages:
- pkgutil:
    name:
    - CSWtop
    - CSWwget
    - CSWlsof
    state: present
* Added ability to have underlying tool perform a dry-run when using

check mode, pkgutil -n

* Added ability to configure force option to force packages to state

determined by repository (downgrade for example)

- pkgutil:
    name: CSWtop
    state: latest
    force: yes
* Added more examples and documentation to show the new functionality

* pkgutil: add update all, check-mode, squashing and examples

Taken from ansible/ansible#51651 by dagwieers, which was taken from ansible/ansible#27866 by scathatheworm.  Let’s have one last attempt to get this merged.

> ##### SUMMARY
>
> Original PR #27866 from scathatheworm
>
> When working with Solaris pkgutil CSW packages, I came across this module being very basic in functionality, in particular, that I could not use it to update all CSW packages.
>
> When going into details into the code I also found it did not incorporate a possibility of doing dry-run from the underlying utility, or supported to specify multiple packages for operations.
>
> This module probably sees very little use, but it seemed like nice functionality to add and make it behave a little more like other package modules.
> ##### ISSUE TYPE
>
>     * Feature Pull Request
>
>
> ##### COMPONENT NAME
>
> pkgutil module
> ##### ANSIBLE VERSION
>
> ```
> ansible 2.3.1.0
>   config file = /etc/ansible/ansible.cfg
>   configured module search path = Default w/o overrides
>   python version = 2.7.5 (default, Aug  2 2016, 04:20:16) [GCC 4.8.5 20150623 (Red Hat 4.8.5-4)]
> ```
>
> ##### ADDITIONAL INFORMATION
>
>     * Added ability to upgrade all packages:
>
>
> ```yaml
> - pkgutil:
>     name: '*'
>     state: latest
> ```
>
>     * Added ability to modify state of a list of packages:
>
>
> ```yaml
> - pkgutil:
>     name:
>     - CSWtop
>     - CSWwget
>     - CSWlsof
>     state: present
> ```
>
>     * Added ability to have underlying tool perform a dry-run when using check mode, pkgutil -n
>
>     * Added ability to configure force option to force packages to state determined by repository (downgrade for example)
>
>
> ```yaml
> - pkgutil:
>     name: CSWtop
>     state: latest
>     force: yes
> ```
>
>     * Added more examples and documentation to show the new functionality

* Add changelog fragment.

* Observe changelog style guide

https://docs.ansible.com/ansible/devel/community/development_process.html#changelogs

Co-authored-by: Felix Fontein <felix@fontein.de>

* Since module split, version_added no-longer refers to core Ansbile

Co-authored-by: Felix Fontein <felix@fontein.de>

* Tweak documentation

* Apply the new `elements` feature for specifying list types

Co-authored-by: Felix Fontein <felix@fontein.de>

* Set version_added

Co-authored-by: Felix Fontein <felix@fontein.de>

* Document `pkg` alias for `name`

* Be explicit about the purpose of states `installed` and `removed`.

* Force the user to specify their desired state.

* Review documentation for pkgutil module.

* Fully qualify svr4pkg module name

Co-authored-by: Felix Fontein <felix@fontein.de>

Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit dd9e999)
@ansibullbot
Copy link
Collaborator

@ansibullbot ansibullbot added affects_2.10 community_review feature This issue/PR relates to a feature request integration tests/integration module module needs_triage new_contributor Help guide this first time contributor os packaging plugins plugin (any type) tests tests labels Sep 30, 2020
@felixfontein felixfontein merged commit e03ade8 into stable-1 Sep 30, 2020
@felixfontein felixfontein deleted the patchback/backports/stable-1/dd9e999c9f8ac4267aac4bd8a9c42a4a214a282a/pr-799 branch September 30, 2020 04:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
community_review feature This issue/PR relates to a feature request integration tests/integration module module needs_triage new_contributor Help guide this first time contributor os packaging plugins plugin (any type) tests tests
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants